package com.dhl.single;

/**
 * 单一职责原则
 *
 * @title: SingleResponsibity1
 * @Author danghailiang
 * @Date: 2022/7/22 21:07
 * @Version 1.0
 */
public class SingleResponsibility2 {
    public static void main(String[] args) {
        new Vehicle().run("汽车");
        new WaterVehicle2().run("船");
        new AirVehicle2().run("飞机");
    }
}
/**
 * 交通工具类
 * 方式 2
 * 1.在方式2，遵守了单一职责原则
 * 2.但是使用的类分解的模式，同时修改客户端，改动量
 * 3.可以通过方法分解，如方式3
 */
class Vehicle2 {
    public void run(String vehicle) {
        System.out.println(vehicle + " 在路上跑 ");
    }
}
class AirVehicle2 {
    public void run(String vehicle) {
        System.out.println(vehicle + " 在天空飞行 ");
    }
}

class WaterVehicle2 {
    public void run(String vehicle) {
        System.out.println(vehicle + " 水里运行 ");
    }
}